# -*- coding: utf-8 -*-
import redis
import logging


class Config(object):
    """项目配置"""
    DEBUG = True

    # 设置SECRET_KEY
    SECRET_KEY = 'dfvdfbdfbsdfbsdf'

    # mysql配置链接 不动态追踪
    SQLALCHEMY_DATABASE_URI = 'mysql://root:mysql@127.0.0.1:3306/information_food'
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    # 请求结束之后(return时),开启数据库自动调提交commit功能
    SQLALCHEMY_COMMIT_ON_TEARDOWN = True
    # redis配置，把具体值设置赋给变量，方便后期修改
    REDIS_HOST = "127.0.0.1"
    REDIS_PORT = 6379

    # Session的配置
    SESSION_TYPE = "redis"  # 指定 session 保存到 redis 中
    SESSION_USE_SIGNER = True  # 让 cookie 中的 session_id 被加密签名处理
    SESSION_REDIS = redis.StrictRedis(host=REDIS_HOST, port=REDIS_PORT)  # 使用 redis 的实例
    SESSION_PERMANENT = False  # 设置与要过期
    PERMANENT_SESSION_LIFETIME = 86400 * 2  # session 的有效期，单位是秒
    # 设置日志等级
    LOG_LEVEL = logging.DEBUG


class DevelopmentConfig(Config):
    """开发环境下配置"""
    DEBUG = True


class ProductionConfig(Config):
    """生产环境下的配置"""
    DEBUG = False
    LOG_LEVEL = logging.WARNING


class TestingConfig(Config):
    """单元测试环境下配置"""
    DEBUG = True
    TESTING = True


config = {
    "development": DevelopmentConfig,
    "production": ProductionConfig,
    "resting": TestingConfig
}